package com.sinvo.oa.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sinvo.oa.entity.model.system.SysMenu;
import com.sinvo.oa.entity.vo.system.AssignMenuVo;
import com.sinvo.oa.entity.vo.system.RouterVo;

import java.util.List;

/**
 * @Description 菜单 service接口
 */
public interface SysMenuService extends IService<SysMenu> {
    //获取菜单结构
    List<SysMenu> getAllMenuNodes();
    //删除菜单
    void removeMenuById(Long id);
    //根据roleId查询菜单
    List<SysMenu> getMenuByRoleId(Long roleId);
    //分配菜单
    boolean doAssign(AssignMenuVo assignMenuVo);
    //获取用户可访问路由
    List<RouterVo> findUserMenuListByUserId(Long userId);
    //获取用户可操作按钮
    List<String> findUserPermsByUserId(Long userId);
    //修改菜单状态
    boolean changeStatus(Long id, Integer status);
    //修改菜单
    void updateMenu(SysMenu sysMenu);
    //新增菜单
    void saveMenu(SysMenu sysMenu);
}
